<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Caziac: AHandleRequest.hh Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.2-20100208 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<h1>AHandleRequest.hh</h1><a href="_a_handle_request_8hh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef                 CAZIAC_AHANDLEREQUEST_HH</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor"># define                CAZIAC_AHANDLEREQUEST_HH</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00012"></a>00012 <span class="preprocessor">#include                &lt;map&gt;</span>
<a name="l00013"></a>00013 
<a name="l00014"></a>00014 <span class="preprocessor">#include                &quot;<a class="code" href="_line_request_8hh.html">LineRequest.hh</a>&quot;</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include                &quot;IReader.hh&quot;</span>
<a name="l00016"></a>00016 
<a name="l00017"></a>00017 <span class="keyword">namespace               </span>Caziac
<a name="l00018"></a>00018 {
<a name="l00019"></a>00019 
<a name="l00020"></a>00020   <span class="keyword">namespace             </span>Http
<a name="l00021"></a>00021   {
<a name="l00022"></a>00022 
<a name="l00028"></a>00028     <span class="keyword">class               </span>AHandleRequest
<a name="l00029"></a>00029     {
<a name="l00030"></a>00030 
<a name="l00031"></a>00031     <span class="keyword">private</span>:
<a name="l00032"></a>00032 
<a name="l00033"></a>00033       LineRequest                                       _line;
<a name="l00034"></a>00034       std::multimap&lt;std::string, std::string&gt;           _header;
<a name="l00035"></a>00035       Tools::IReader *                                  _reader;
<a name="l00036"></a>00036 
<a name="l00037"></a>00037     <span class="keyword">public</span>:
<a name="l00038"></a>00038 
<a name="l00046"></a>00046       <a class="code" href="class_caziac_1_1_http_1_1_a_handle_request.html#a4f668de331d102d610ca286c5a1bd667" title="constructor of the HandleRequest">AHandleRequest</a>(Tools::IReader *reader);
<a name="l00047"></a>00047 
<a name="l00052"></a>00052       <span class="keyword">virtual</span> <a class="code" href="class_caziac_1_1_http_1_1_a_handle_request.html#ad1c8bba965d79067a0ac01645a67c052" title="destructor of the HandleRequest">~AHandleRequest</a>();
<a name="l00053"></a>00053 
<a name="l00062"></a>00062       std::multimap&lt;std::string, std::string&gt;<span class="keyword">const</span> &amp;    <a class="code" href="class_caziac_1_1_http_1_1_a_handle_request.html#ad0ea9eef963ee41060863dbedb4be6a7" title="this function get the header of the Request">getHeader</a>() <span class="keyword">const</span>;
<a name="l00063"></a>00063 
<a name="l00072"></a>00072       LineRequest <span class="keyword">const</span>&amp;                                <a class="code" href="class_caziac_1_1_http_1_1_a_handle_request.html#a465862de848ff725b778879cd3ea3dd9" title="this function get the LineRequest (method url version)">getLineRequest</a>() <span class="keyword">const</span>;
<a name="l00073"></a>00073 
<a name="l00079"></a>00079       Tools::IReader *                                  <a class="code" href="class_caziac_1_1_http_1_1_a_handle_request.html#aaf6f9b21d65ad64afaa13becb2d71119" title="this function get the Reader which read the stream">getReader</a>();
<a name="l00080"></a>00080 
<a name="l00092"></a>00092       <span class="keywordtype">void</span>                                              <a class="code" href="class_caziac_1_1_http_1_1_a_handle_request.html#a832f248171cb4006812dcfa734dca8ba" title="use the reader until it will find an empty string">readRequestHeader</a>();
<a name="l00093"></a>00093 
<a name="l00105"></a>00105       <span class="keyword">virtual</span> <span class="keywordtype">void</span>                                      <a class="code" href="class_caziac_1_1_http_1_1_a_handle_request.html#a0da91eb580ae47dc36ec1de4af02851e" title="[User Implementation]">consumeHeaderLine</a>(std::string <span class="keyword">const</span> &amp;line) = 0;
<a name="l00106"></a>00106 
<a name="l00107"></a>00107     <span class="keyword">protected</span>:
<a name="l00108"></a>00108 
<a name="l00114"></a>00114       <span class="keywordtype">void</span>      <a class="code" href="class_caziac_1_1_http_1_1_a_handle_request.html#a10dc01084c7f87ff535bbbbd8a1a58a8" title="add a description to the Header">addDescription</a>(std::string <span class="keyword">const</span> &amp;key, std::string <span class="keyword">const</span> &amp;def);
<a name="l00115"></a>00115 
<a name="l00116"></a>00116     };
<a name="l00117"></a>00117 
<a name="l00118"></a>00118   }
<a name="l00119"></a>00119 }
<a name="l00120"></a>00120 
<a name="l00121"></a>00121 <span class="preprocessor">#endif</span>
</pre></div></div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address style="text-align: right;"><small>Generated on 12 Sep 2011 for Caziac by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address>
</body>
</html>
